<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>aiengine: xaietile_noc.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">aiengine
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xaietile__noc_8c.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">xaietile_noc.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains routines for NoC module. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who       Date            Changes
</p>
<hr/>
<p>
1.0     Nishad  01/29/2019      Initial creation
</pre> </div><table class="memberdecls">
<tr class="memitem:a7dfe51b6224ab671a08ba1d50fcafbd1"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaietile__noc_8c.html#a7dfe51b6224ab671a08ba1d50fcafbd1">XAieTile_NoCIntcL2StatusGet</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr)</td></tr>
<tr class="memdesc:a7dfe51b6224ab671a08ba1d50fcafbd1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API returns the status of 2nd level interrupt.  <a href="#a7dfe51b6224ab671a08ba1d50fcafbd1">More...</a><br/></td></tr>
<tr class="separator:a7dfe51b6224ab671a08ba1d50fcafbd1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa22b3427b7405930e647d99071f37009"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaietile__noc_8c.html#aa22b3427b7405930e647d99071f37009">XAieTile_NoCIntcL2StatusClear</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr, u16 Mask)</td></tr>
<tr class="memdesc:aa22b3427b7405930e647d99071f37009"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API clears the status of interrupt at the 2nd level interrupt controller level.  <a href="#aa22b3427b7405930e647d99071f37009">More...</a><br/></td></tr>
<tr class="separator:aa22b3427b7405930e647d99071f37009"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae13eccc9a4e72f66dfc4087871d34f2a"><td class="memItemLeft" align="right" valign="top">u16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaietile__noc_8c.html#ae13eccc9a4e72f66dfc4087871d34f2a">XAieTile_NoCIntcL2Mask</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr)</td></tr>
<tr class="memdesc:ae13eccc9a4e72f66dfc4087871d34f2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API returns the current mask value for 2nd level interrupt controller.  <a href="#ae13eccc9a4e72f66dfc4087871d34f2a">More...</a><br/></td></tr>
<tr class="separator:ae13eccc9a4e72f66dfc4087871d34f2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06038a6d95e380d8e879344c09e83f1c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaietile__noc_8c.html#a06038a6d95e380d8e879344c09e83f1c">XAieTile_NoCIntcL2Enable</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr, u16 InterruptBitMask)</td></tr>
<tr class="memdesc:a06038a6d95e380d8e879344c09e83f1c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API configures the 2nd level interrupt controller to be triggered by a groups of interrupts defined at the 1st level section.  <a href="#a06038a6d95e380d8e879344c09e83f1c">More...</a><br/></td></tr>
<tr class="separator:a06038a6d95e380d8e879344c09e83f1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fd5ebfe857f924175086e1352f41b8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaietile__noc_8c.html#a6fd5ebfe857f924175086e1352f41b8b">XAieTile_NoCIntcL2Disable</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr, u16 InterruptBitMask)</td></tr>
<tr class="memdesc:a6fd5ebfe857f924175086e1352f41b8b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API configures the 2nd level interrupt controller to ignore groups of interrupts defined at the 1st level section.  <a href="#a6fd5ebfe857f924175086e1352f41b8b">More...</a><br/></td></tr>
<tr class="separator:a6fd5ebfe857f924175086e1352f41b8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe0ca6395822adc9682a6a6bf982edd5"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaietile__noc_8c.html#abe0ca6395822adc9682a6a6bf982edd5">XAieTile_NoCIntcL2IntrGet</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr)</td></tr>
<tr class="memdesc:abe0ca6395822adc9682a6a6bf982edd5"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API returns the NoC interrupt line number to which the 2nd level interrupt controller is driving the 1st level interrupts to.  <a href="#abe0ca6395822adc9682a6a6bf982edd5">More...</a><br/></td></tr>
<tr class="separator:abe0ca6395822adc9682a6a6bf982edd5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1148fe3456601060ce7071721baa494e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xaietile__noc_8c.html#a1148fe3456601060ce7071721baa494e">XAieTile_NoCIntcL2IntrSet</a> (<a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *TileInstPtr, u8 NoCInterrupt)</td></tr>
<tr class="memdesc:a1148fe3456601060ce7071721baa494e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API configures the 2nd level interrupt controller to drive one of the the four NoC interrupt line when an active event occurs.  <a href="#a1148fe3456601060ce7071721baa494e">More...</a><br/></td></tr>
<tr class="separator:a1148fe3456601060ce7071721baa494e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a6fd5ebfe857f924175086e1352f41b8b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieTile_NoCIntcL2Disable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>InterruptBitMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API configures the 2nd level interrupt controller to ignore groups of interrupts defined at the 1st level section. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. Should be shim NoC tile </td></tr>
    <tr><td class="paramname">InterruptBitMask</td><td>- Group of events to ignore at 2nd level controller</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

</div>
</div>
<a class="anchor" id="a06038a6d95e380d8e879344c09e83f1c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieTile_NoCIntcL2Enable </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>InterruptBitMask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API configures the 2nd level interrupt controller to be triggered by a groups of interrupts defined at the 1st level section. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. Should be shim NoC tile </td></tr>
    <tr><td class="paramname">InterruptBitMask</td><td>- Group of events to trigger 2nd level controller</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

</div>
</div>
<a class="anchor" id="abe0ca6395822adc9682a6a6bf982edd5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XAieTile_NoCIntcL2IntrGet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API returns the NoC interrupt line number to which the 2nd level interrupt controller is driving the 1st level interrupts to. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. Should be shim NoC tile.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>NoC interrupt line number</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

</div>
</div>
<a class="anchor" id="a1148fe3456601060ce7071721baa494e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieTile_NoCIntcL2IntrSet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>NoCInterrupt</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API configures the 2nd level interrupt controller to drive one of the the four NoC interrupt line when an active event occurs. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. Should be shim NoC tile </td></tr>
    <tr><td class="paramname">NoCInterrupt</td><td>- NoC interrupt line number</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

</div>
</div>
<a class="anchor" id="ae13eccc9a4e72f66dfc4087871d34f2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XAieTile_NoCIntcL2Mask </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API returns the current mask value for 2nd level interrupt controller. </p>
<p>Masking/unmasking of interrupts from 1st level sections can be done using <a class="el" href="xaietile__noc_8c.html#a06038a6d95e380d8e879344c09e83f1c" title="This API configures the 2nd level interrupt controller to be triggered by a groups of interrupts defi...">XAieTile_NoCIntcL2Enable()</a> and <a class="el" href="xaietile__noc_8c.html#a6fd5ebfe857f924175086e1352f41b8b" title="This API configures the 2nd level interrupt controller to ignore groups of interrupts defined at the ...">XAieTile_NoCIntcL2Disable()</a> APIs</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. Should be shim NoC tile</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Current 16-bit mask value</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

</div>
</div>
<a class="anchor" id="aa22b3427b7405930e647d99071f37009"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAieTile_NoCIntcL2StatusClear </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u16&#160;</td>
          <td class="paramname"><em>Mask</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API clears the status of interrupt at the 2nd level interrupt controller level. </p>
<p>As each bit in the status corresponds to the type of interrupt from a particular 1st level section, supply a set bit in the Mask value at the same location to clear the status</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. Should be shim NoC tile </td></tr>
    <tr><td class="paramname">Mask</td><td>- Set bit corresponding to the status to be cleared</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>None</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

</div>
</div>
<a class="anchor" id="a7dfe51b6224ab671a08ba1d50fcafbd1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u16 XAieTile_NoCIntcL2StatusGet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_aie_gbl___tile.html">XAieGbl_Tile</a> *&#160;</td>
          <td class="paramname"><em>TileInstPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API returns the status of 2nd level interrupt. </p>
<p>Each bit in the status value corresponds to a particular type of interrupt from a specific 1st level section</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">TileInstPtr</td><td>- Pointer to the Tile instance. Should be shim NoC tile</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Current 16-bit status value</dd></dl>
<dl class="section note"><dt>Note</dt><dd>None </dd></dl>

<p>References <a class="el" href="struct_x_aie_gbl___tile.html#a7c04a73941e64980a264a9d529fbb571">XAieGbl_Tile::TileAddr</a>, and <a class="el" href="struct_x_aie_gbl___tile.html#aadd948557d2723faa0cf47419e7d8a6e">XAieGbl_Tile::TileType</a>.</p>

<p>Referenced by <a class="el" href="xaietile__event_8h.html#a9a308ce55f7f792dd341d131b3e45262">XAieTile_EventsWaitForPending()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
